/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.sadhar.sipp.perekemanrapatkerjaunit;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.sadhar.sia.common.ClassConnection;

/**
 *
 * @author bloodrunk
 */
public class PerekamanaRapatKerjaUnitDAOImpl implements PerekamanRapatKerjaUnitDAO {

    public PerekamanaRapatKerjaUnitDAOImpl() {
        ClassConnection.getTransactionProxyFactoryBean().setTarget(this);
    }

    public List<Map> getRapatKerjaByTahun(String tahun) {
        String sql = "SELECT * FROM ppmk.rapatKerjaUnit rku " +
                " inner join ppmk.rapatKerja rk on(rku.kodeRapatKerja = rk.kodeRapatKerja) " +
                " inner join ppmk.jenisRapatKerja jrk on(rku.kodeJenisRapatKerja=jrk.kodeJenisRapatKerja)" +
                " inner join kamus.unkerja uk on(rku.kodeUnit=uk.Kd_unit_kerja) where rku.tahun=?";
        return ClassConnection.getJdbc().queryForList(sql,new Object[]{tahun});
    }

    public void insert(PerekamanRapatKerjaUnit rapatKerjaUnit) {
        String sql = "insert into ppmk.rapatKerjaUnit(tahun,kodeUnit,kodeRapatKerja,kodeJenisRapatKerja,isRencana) " +
                "values(?,?,?,?,?)";
        ClassConnection.getJdbc().update(sql, new Object[]{
                    rapatKerjaUnit.getTahun(),
                    rapatKerjaUnit.getKodeUnit(),
                    rapatKerjaUnit.getKodeRapatKerja(),
                    rapatKerjaUnit.getKodeJenisRapatKerja(),
                    rapatKerjaUnit.getIsRencana()});
    }

    public void update(PerekamanRapatKerjaUnit rapatKerjaUnit) throws Exception {
        String sql = "UPDATE ppmk.rapatKerjaUnit set kodeUnit=?,kodeRapatKerja=?,kodeJenisRapatKerja=?  " +
                " WHERE idRapatKerjaUnit=?";
        ClassConnection.getJdbc().update(sql, new Object[]{
                    rapatKerjaUnit.getKodeUnit(),
                    rapatKerjaUnit.getKodeRapatKerja(),
                    rapatKerjaUnit.getKodeJenisRapatKerja(),
                    rapatKerjaUnit.getIdRapatKerjaUnit()});
    }

    public void delete(PerekamanRapatKerjaUnit rapatKerjaUnit) {
        String sql = "DELETE from ppmk.rapatKerjaUnit WHERE idRapatKerjaUnit=?";
        ClassConnection.getJdbc().update(sql, new Object[]{
                    rapatKerjaUnit.getIdRapatKerjaUnit()});
    }

    public Map getRapatKerjaUnit(String tahun, int kodeRapatKerja, int kodeJenisRapatKerja) throws Exception {
        String sql = "SELECT *FROM ppmk.rapatKerjaUnit where tahun=? AND kodeRapatKerja=? AND kodeJenisRapatKerja=?";
        List<Map> result = ClassConnection.getJdbc().queryForList(sql,
                new Object[]{tahun, kodeRapatKerja, kodeJenisRapatKerja});
        Map map = new HashMap();
        for (Map m : result) {
            map = m;
        }
        return map;
    }
}
